<?php

use Hyperf\Database\Schema\Schema;
use Hyperf\Database\Schema\Blueprint;
use Hyperf\Database\Migrations\Migration;

class CreateWechatOfficialTable extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('wechat_official', function (Blueprint $table) {
            $table->bigIncrements('id');
            // 名称标识，公众号系统名称
            $table->string('name', 32)->default('')->comment('名称标识');
            // 别名标识，方便后台管理
            $table->string('alias', 100)->default('')->comment('别名标识');
            // 公众号级别
            $table->tinyInteger('level', false, true)->default(1)->comment('0|开发测试号、1|普通订阅号、2|认证订阅号、3|普通服务号、4|认证服务号');
            // 头像标识
            $table->string('avatar', 512)->default('')->comment('头像标识');
            // 二维码标识
            $table->string('two_code', 512)->default('')->comment('二维码标识');
            // 应用ID
            $table->string('app_id', 32)->default('')->comment('应用标识');
            // 应用密钥
            $table->string('app_secret', 512)->default('')->comment('应用密钥');
            // 应用Token
            $table->string('app_token', 32)->default('')->comment('应用TOKEN');
            // 消息密钥EncodingAESKey
            $table->string('app_key', 64)->default('')->comment('消息密钥');
            // 原始ID
            $table->string('original_id', 32)->default('')->comment('原始标识');
            // 授权链接
            $table->string('auth_link', 512)->default('')->comment('授权链接');
            // 分享接口
            $table->string('share_link', 512)->default('')->comment('分享接口');
            // 状态标识
            $table->tinyInteger('status', false, true)->default(1)->comment('状态,1|正常、2|禁用');
            // 创建时间
            $table->dateTimeTz('created_at')->nullable()->comment('创建时间');
            // 更新时间
            $table->dateTimeTz('updated_at')->nullable()->comment('更新时间');
            // 删除时间
            $table->dateTimeTz('deleted_at')->nullable()->comment('删除时间');
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('wechat_official');
    }
}
